E1.元に戻す
●●●入力ミスした場合などで元に戻す(ツ−ルバ−横のボタンで16回前までまとめて戻せる)。
★ 自動記録されない
PageTop
E2.繰り返し
●●●前回実行した内容を繰り返して実行できる(繰り返し出来ないコマンドもあります)。
Sub Macro1()
Range("D2").Select
With Selection.Interior
.ColorIndex = 6
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
End With
End Sub
■ 自動記録では前回実行の内容が記録される。(本例は、同じ色を”D2”へ付けた例)
PageTop
E3.切り取り
●●●下記例は、"B2"を切り取って"C3"へ貼り付けたケ−ス。
Sub Macro1()
Range("B2").Select
Selection.Cut
Range("C3").Select
ActiveSheet.Paste
End Sub
PageTop
E4.コピ−
●●●下記例は、"A1"をコピ−して"C3"へ貼り付けたケ−ス。
Sub Macro1()
Range("A1").Select
Selection.Copy
Range("C3").Select
ActiveSheet.Paste
Application.CutCopyMode = False
End Sub
■ コピ−した場合その場所が選択状態になっているので、カスタムマクロにはコピ−・切り取り
終了時通常"CutCopyMode = False"を入れ解除する(点滅中の枠を消す)。
-----------------------------------------------------------------------
◆なお、1度のみのコピ−であれば下記マクロがよい(コピ−解除も不用)
Sub Macro2()
Range("A1").Copy Range("C3")
End Sub
PageTop
E5.貼り付け
●●●下記例は、"A1"をコピ−して"Sheet3"の"B2"へ貼り付けたケ−ス。
Sub Macro1()
Sheets("Sheet1").Select
Range("A1").Select
Selection.Copy
Sheets("Sheet3").Select
Range("B2").Select
ActiveSheet.Paste
Application.CutCopyMode = False
End Sub
-----------------------------------------------------------------------
◆なお、1度のみのコピ−であれば下記マクロがよい(コピ−解除も不用)
Sub Macro2()
Sheets("Sheet1").Range("A1").Copy Sheets("Sheet3").Range("B2")
End Sub
(上記は一個のセルであり、下記と同じこと)
Sheets("Sheet3").Range("B2") = Sheets("Sheet1").Range("A1")
◆セルが一個でない例
Sub Macro3()
Sheets("Sheet1").Range("A1:A4").Copy Sheets("Sheet3").Range("B2")
End Sub
PageTop
E6.形式を選択し貼り付け
●●●下記例は、"B4"をコピ−して形式を「値」選択し"D4"へ貼り付けたケ−ス。
Sub Macro1()
Range("B4").Select
Selection.Copy
Range("D4").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
End Sub
●●●下記例は、列を行にコピーした例。(形式を「行列を入れ替える」にマーク)
Sub Macro1()
Range("A1:A7").Select
Selection.Copy
Range("B1").Select
Selection.PasteSpecial Paste:=xlAll, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=True
End Sub
PageTop
E7.ハイパ−リンクとして貼り付け
○●●ExcelからHTMLファイルを開いて、そのセルをコピ−してハイパ−リンクとして貼り付けられる。
★ 自動記録されない
PageTop
E8.フィル
■ 本機能を使用し、同一数式等を指定したセルへコピ−出来る。(なお数式内のセル値は自動的に
変換される)。
PageTop
E8-1.下方向へコピ−
●●●下記例は"E2"のデ−タをコピ−し、"E3:E15"へ貼り付けたケ−ス。
Sub Macro1()
Range("E3:E15").Select
Selection.FillDown
End Sub
Top
E8-2.右方向へコピ−
●●●下記例は"E2"のデ−タをコピ−し、"F2"へ貼り付けたケ−ス。
Sub Macro1()
Range("F2").Select
Selection.FillRight
End Sub
Top
E8-3.上方向へコピ−
●●●下記例は"E2"のデ−タをコピ−し、"E1"へ貼り付けたケ−ス。
Sub Macro1()
Range("E1").Select
Selection.FillUp
End Sub
Top
E8-4.左方向へコピ−
●●●下記例は"E2"のデ−タをコピ−し、"D2"へ貼り付けたケ−ス。
Sub Macro1()
Range("D2").Select
Selection.FillLeft
End Sub
Top
E8-5.作業グル−プへコピ−
●●●下記例は、シ−ト"Sheet1,Sheet2,Sheet3"をグル−フ化し"A3:B6"のデ−タをコピ−したケ−ス。
Sub Macro1()
Range("A3:B6").Select
Sheets(Array("Sheet1", "Sheet2", "Sheet3")).Select
Sheets("Sheet1").Activate
ActiveWindow.SelectedSheets.FillAcrossSheets Range:=Selection, Type:=xlAll
Range("A1").Select
End Sub
Top
E8-6.連続デ−タの作成
●●●これはA列へ連続番号付加したケ−ス。
Sub Macro1()
Range("A1:A10").Select
Selection.DataSeries Rowcol:=xlColumns, Type:=xlLinear, _
Date:=xlDay, Step:=1, Trend:=False
End Sub
Top
E8-7.文字の割り付け
●●●
Sub Macro1()
Range("B2").Select
Selection.Justify
End Sub
Top
E9.クリア
PageTop
E9-1.すべて
Sub Macro1()
Range("B2").Select
Selection.Clear
End Sub
Top
E9-2.書式
Sub Macro1()
Range("B2").Select
Selection.ClearFormats
End Sub
Top
E9-3.数値と値
Sub Macro1()
Range("B2").Select
Selection.ClearContents
End Sub
Top
E9-4.コメント
Sub Macro1()
Range("B2").Select
Selection.ClearComments
End Sub
Top
E10.削除
●●●セルの削除として下記4種類ある。
Sub Macro1()
Range("B2").Select
Selection.Delete Shift:=xlToLeft ’左へシフト
Selection.Delete Shift:=xlUp ’右へシフト
Selection.EntireRow.Delete ’行全体
Selection.EntireColumn.Delete ’列全体
End Sub
■ 行全体を削除する場合、Excel2000ではExcel95の10倍以上時間が掛かるので、マクロでは
出来ればコピ−貼付け等別な方法を検討した方がよい。
PageTop
E11.シ−トの削除
●●●これを実行すると、「一度削除すると元に戻せません」のメッセ−ジが表示されます。
Sub Macro1()
ActiveWindow.SelectedSheets.Delete
End Sub
■ マクロで自動的にシ−トを削除しダイアログを表示させたくない場合は、
"Application.DisplayAlerts = False"をシ−トの削除の前に記述する。
PageTop
E12.シ−トの移動またはコピ−
●●●移動またはコピ−先のブックを事前に開いておけば、ダイログに挿入先が表示される。
'---------------------------------------------------
[1]最後尾へコピ−したケ−ス
Sub Macro1()
Sheets("Sheet1").Copy After:=Sheets(3)
End Sub
'---------------------------------------------------
[2]最後尾へ移動したケ−ス
Sub Macro2()
Sheets("Sheet1").Move After:=Sheets(4)
End Sub
'---------------------------------------------------
[3]新しいブックを指定しコピ−したケ−ス
Sub Macro3()
Sheets("Sheet1").Copy
End Sub
'---------------------------------------------------
[4]新しいブックを指定し移動したケ−ス
Sub Macro4()
Sheets("Sheet1").Move
End Sub
'---------------------------------------------------
■ あるブックにシ−トを追加した場合も上記[1]マクロで任意の場所へ移動できる。
PageTop
E13.検索
●●●セルにあるデ−タがあるかチェックできる。
Sub Macro1()
'[1]半角と全角を区別する
Columns("B:B").Select
Selection.Find(What:="AAA", After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False).Activate
'[2]大文字と小文字を区別する
Columns("B:B").Select
Selection.Find(What:="AAA", After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=True, MatchByte:=False).Activate
Range("C2").Select
'[3]完全に同一なせるだけを検索する
Columns("B:B").Select
Selection.Find(What:="AAA", After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, MatchByte:=False).Activate
Range("C2").Select
End Sub
■ マクロでFindメソッドを使用するたデ−ダ検索が容易に出来るが、検索したデ−タが無い場合
エラ−になるのでエラ−処理も組み込む必要がある。
PageTop
E14.置換
●●●指定したデ−タがあった場合、指定した文字に置き換える。
Sub Macro1()
Columns("B:B").Select
Selection.Replace What:="AAA", Replacement:="ABC", LookAt:=xlPart, _
SearchOrder:=xlByColumns, MatchCase:=False, MatchByte:=False
Range("A1").Select
End Sub
■ 過去にカタカナバ−を統一する必要があったが、上記応用で容易にマクロを作成できる。
PageTop
E15.ジャンプ
●●●下記はシ−ト3の"A2"セルへ"sh3"と言う名前を付けて、"Sheet1"をからその場所へジャンプ
したケ−ス。
Sub Macro1()
ActiveWorkbook.Names.Add Name:="sh3", RefersToR1C1:="=Sheet3!R2C1"
Sheets("Sheet1").Select
Range("A2").Select
Application.Goto Reference:="sh3"
End Sub
PageTop
●●●下記は[ジャンプ][セル選択]で「選択オプション」を指定したケ−ス
Sub Macro1()
'[数式][数値]を指定(数式の入っているセルが選ばれる)
Selection.SpecialCells(xlCellTypeFormulas, 1).Select
End Sub
’
Sub Macro2()
'[空白セル]を指定したケ−ス
Selection.SpecialCells(xlCellTypeBlanks).Select
End Sub
’
Sub Macro3()
'[アクティブ領域]を指定したケ−ス
'(デ−ダのあるセルを指定後でないとデ−タ領域は選ばれない)
Range("D7").Select
Selection.CurrentRegion.Select
End Sub
'
Sub Macro4()
'[最終セル]を指定したケ−ス
Selection.SpecialCells(xlCellTypeLastCell).Select
End Sub
'
Sub Macro5()
'[可視セル](非表示になっているセルがない場合は選ばれない)
Selection.SpecialCells(xlCellTypeVisible).Select
End Sub
PageTop
E16.リンクの設定
●●●下記マクロは、リンクのダイアログから「リンク元を開く」を実施したテ−ス。
Sub Macro1()
Workbooks.Open FileName:="A:\My Documents\Book3.xls"
End Sub
PageTop
E17.オブジェクト
●●●下記マクロは、ワ−ドア−トオブジェクトの編集を指定したケ−ス。
Sub Macro1()
Range("F4").Select
ActiveSheet.Shapes("Object 1").Select
Selection.Verb Verb:=xlPrimary
Range("B2").Select
End Sub
PageTop